package com.zhangxu.microservice.system.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zhangxu.microservice.system.dao.enums.RoleStatusEnum;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("sys_role")
public class RoleDO {

    /**
     * 主键 ID，自增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 角色名称（可中文，如"管理员"）
     */
    private String name;

    /**
     * 角色编码（英文唯一，如 ADMIN、EMPLOYEE）
     */
    private String code;

    /**
     * 应用ID
     */
    private Long appId;

    /**
     * 角色描述
     */
    private String description;

    /**
     * 状态（ENABLE-启用，DISABLE-禁用）
     */
    private RoleStatusEnum status;

    /**
     * 创建人 ID
     */
    private Long createBy;

    /**
     * 更新人 ID
     */
    private Long updateBy;

    /**
     * 创建时间（自动填充）
     */
    private LocalDateTime createTime;

    /**
     * 更新时间（自动填充）
     */
    private LocalDateTime updateTime;

    /**
     * 删除时间戳（0-未删除，非0-删除时间戳）
     */
    private Long deleteTime;
}